The present invention generally relates to vector-quantizing devices and more particularly to a vector-quantizing device that has a code book wherein the content of the code book is optimized adaptively.
The technique of vector quantization is used extensively for speech recognition as well as for transmission of various signals such as video signals or audio signals with data compression. In the digital telephone systems for transmitting speech signals via a communication line, in particular, the vector-quantization provides a powerful means for reducing the bit rate.
FIG.1 shows an example of the spectrum of human speech. As will be noted in FIG. 1, the human speech is basically formed of a component having a periodic and random noise spectrum produced at the voice cord, and such a signal component is modulated as result of change of the transfer characteristic at the vocal tract. Thus, the transfer of the speech signal having a spectrum as shown in FIG.1 requires transmission of a large amount of information, and hence, there is a need of a large bandwidth for the transmission channel.
In the vector-quantization of speech signals, a reference signal having a white noise spectrum as shown in FIG.2 is produced and sampled with a predetermined clock. The samples thus obtained such as a.sub.1, a.sub.2, a.sub.3, a.sub.4 . . . are grouped into a number of groups called code vectors such as (a.sub.1, a.sub.2), (a.sub.3, a.sub.4), . . . , and are stored in a memory device called code book together with respective index data.
When compressing a speech signal in transmission side, the code vectors thus stored in the code book are read out therefrom one by one by changing the index, and a speech signal is reproduced by processing the code vectors in a synthetic filter. There, the code vector that produces a signal that approximates the input speech signal with the smallest error is selected and the index data of the code vector is transmitted over the transmission line. In the reception side, a code book having the identical construction and content is provided, and the code vector is selected based upon the index data transmitted over the transmission line. By processing the code vector in a speech synthesis filter that corresponds to the speech synthesis filter of the transmission side, one can reproduce the speech signal successfully.
FIG.3 shows the construction of a conventional vector-quantizing device used in the transmission side of a telecommunication system.
Referring to FIG.3, the device includes a coding unit 1 that includes therein a code book and an addressing circuit for selectively reading out the code vector from the code book. The selected code vector is then supplied to a synthesis unit 2 for reproducing speech sample data from the code vector. Typically, the unit 2 is provided by a feedback filter that simulates the acoustic characteristics of the vocal tract. The reproduced speech data is then compared with an input speech signal at a subtracter 3 where a deviation of the reproduced speech signal from the input speech signal is calculated, and the output of the subtracter 3 indicating the deviation is supplied to an evaluation unit 4 that calculates the square of the deviation signal. When the evaluation is completed for all of the code vectors, the evaluation unit 4 evaluates the foregoing square deviation for each of the code vectors in the code book and selects the code vector that provides the smallest square deviation. Thereby, the index data that corresponds to the selected code vector is transmitted along the transmission line. Thereby, one can achieve a data compression by sending the index of the code vector instead of the digital speech signal itself.
On the other hand, the quantizing device of this prior art has a problem, associated with the use of fixed code book, in that there is a tendency that some of the code vectors are used frequently while other code vectors are not used. Further, such frequently used code vectors and unused code vectors may change when the person who speaks has changed. Thus, the conventional device of FIG. 1 has to have a large code book that stores therein a very large number of code vectors. Thereby, one needs a large number of bits for addressing the code vectors in the code book and the efficiency of data compression is inevitably deteriorated.
FIG.4 shows another conventional vector-quantizing device that is used for training the code book for improving the quality of reproduced signals.
In the device of FIG.4, there is provided a code book 5 for storing the code vectors, and an addressing unit 6 selects the code vectors stored in the code book 5. The code vector read out from the code book 5 as a result of addressing by the unit 6 is then supplied to a synthetic filter 7 that corresponds to the synthesis unit 2 of FIG.3. There, the speech data is synthesized from the selected code vector and is compared with the input speech signal at a subtracter 8. There, the subtracter 8 calculates the difference between the input speech signal and the synthesized speech data and produces an output signal indicative of the difference. This output signal is then supplied to an evaluation unit 9 corresponding to the unit 4 of FIG.3 for calculating the square of the output signal of the subtracter unit 8. Further, the unit 9 activates the unit 6 for changing the code vector until a code vector that minimizes the square of deviation is found. Further, the index of the code vector thus found is transmitted over the transmission line similarly to the device of FIG.3. When the device of FIG.4 is used in the reception side, on the other hand, the output of the filter 7 is outputted as the synthetic speech signal.
Further, the circuit of FIG.4 includes a training unit 10 that is supplied with the input signal as a training signal for a predetermined interval. There, training unit 10 modifies the content of each selected code vector such that the deviation detected by the unit 9 is minimized. Thereby, one can train the code book 5 such that the distortion of vector-quantization is minimized.
In the device of FIG.4, however, there exists a problem in that, although those code vectors that are selected frequently are optimized by the training, the code vectors that are less frequently selected or not selected at all do not experience the desired training. Thereby, there can occur a large distortion associated with the reduced number of the effective or "active" code vectors that are actually selected during the data compression of the speech signals.